#ifndef _DRV_STRUCT_H
#define _DRV_STRUCT_H

#ifdef __cplusplus
extern "C" {
#endif

#if defined(DUET2) || defined(TSINGMA) || defined(TSINGMA_MX) || defined(TSINGMA_GX) || defined(ARCTIC)
#include "usw/include/drv_struct_d2.h"
#endif
#if defined(TSINGMA) || defined(TSINGMA_MX) || defined(TSINGMA_GX) || defined(ARCTIC)
#include "usw/include/drv_struct_tm.h"
#endif
#if defined(TSINGMA_MX) || defined(TSINGMA_GX) || defined(ARCTIC)
#include "usw/include/drv_struct_tmm.h"
#endif
#if defined(ARCTIC) 
#include "usw/include/drv_struct_at.h"
#endif
 /***************************************************************
  *
  *  struct
  *
  ***************************************************************/
typedef struct 
{
    uint32 data[8]; /* tmm, tm, d2 */
}CpuInfoLearning_s;

typedef struct
{
    uint32 data[8]; /*tmm, tm, d2*/
}CpuInfoDump_s;

#if (HOST_IS_LE == 1)
typedef struct
{
    uint32 byteCntDataLo_31_0;
    uint32 byteCntDataHi_7_0:8;
    uint32 sdk_rsv1:24;
    uint32 frameCntDataLo_31_0;
    uint32 frameCntDataHi_1_0:2;
    uint32 sdk_rsv2:30;
}QuadSgmacStatsRam0_s;
typedef struct
{
    uint32 array_0_byteCount_31_0;
    uint32 array_0_byteCount_5_0:6;
    uint32 sdk_rsv1:26;
    uint32 array_1_byteCount_31_0;
    uint32 array_1_byteCount_5_0:6;
    uint32 sdk_rsv2:26;
}
DsMacsecByteStats_s;
#else
typedef struct
{
    uint32 byteCntDataLo_31_0;
    uint32 sdk_rsv1:24;
    uint32 byteCntDataHi_7_0:8;
    uint32 frameCntDataLo_31_0;
    uint32 sdk_rsv2:30;
    uint32 frameCntDataHi_1_0:2;
}QuadSgmacStatsRam0_s;
typedef struct
{
    uint32 array_0_byteCount_31_0;
    uint32 sdk_rsv1:26;
    uint32 array_0_byteCount_5_0:6;
    uint32 array_1_byteCount_31_0;
    uint32 sdk_rsv2:26;
    uint32 array_1_byteCount_5_0:6;
}
DsMacsecByteStats_s;
#endif

#ifdef __cplusplus
}
#endif

#endif

